#include "ipc.h"

semid_t Semid;
// 创建信号量
semid_t sem_init(const char* name, int value) {
    return CreateSemaphore(NULL, value, 1, name);
}

// 信号量 P 操作
int sem_wait(semid_t semid) {
    return WaitForSingleObject(semid, INFINITE) == WAIT_OBJECT_0;
}

// 信号量 V 操作
int sem_post(semid_t semid) {
    return ReleaseSemaphore(semid, 1, NULL);
}

// 删除信号量
int semctl(semid_t semid) {
    return CloseHandle(semid);
}    

